package com.ruoyi.system.dto.design;

import com.ruoyi.system.domain.DesignBase;
import com.ruoyi.system.domain.DesignScheme;
import com.ruoyi.system.domain.DesignSchemeImage;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 批量创建设计信息的请求DTO
 */
@Data
public class DesignBatchCreateDTO {

    /**
     * 设计基础信息（必填）
     */
    @NotNull(message = "设计基础信息不能为空")
    @Valid
    private DesignBase designBase;

    /**
     * 设计方案列表（至少一个方案）
     */
    @NotEmpty(message = "至少需要一个设计方案")
    @Valid
    private List<DesignSchemeWithImages> schemes;

    /**
     * 包含图片的设计方案DTO
     */
    @Data
    public static class DesignSchemeWithImages extends DesignScheme {
        /**
         * 方案对应的图片列表（可选）
         */
        private List<DesignSchemeImage> images;
    }
}
